package org.springframework.social.connect;

import java.io.Serializable;

public interface Connection<A> extends Serializable {
  ConnectionKey getKey();
  
  String getProviderUnionId();
  
  String getDisplayName();
  
  String getProfileUrl();
  
  String getImageUrl();
  
  void sync();
  
  boolean test();
  
  boolean hasExpired();
  
  void refresh();
  
  UserProfile fetchUserProfile();
  
  void updateStatus(String paramString);
  
  A getApi();
  
  ConnectionData createData();
}
